home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Atari Compendium
/
The Atari Compendium (Toad Computers) (1994).iso
/
files
/
umich
/
falcon
/
programm.ing
/
nt_dsp1.lzh
/
NT_DSP1.MSA
/
LFLTS
/
LATNRM.ASM
< prev
next >
Wrap
Assembly Source File
|
1989-01-24
|
1KB
|
42 lines
;
; This program originally available on the Motorola DSP bulletin board.
; It is provided under a DISCLAMER OF WARRANTY available from
; Motorola DSP Operation, 6501 Wm. Cannon Drive W., Austin, Tx., 78735.
;
; Normalized Lattice IIR Filter Macro.
;
; Last Update 01 Aug 86 Version 1.0
;
latnrm macro order
latnrm ident 1,0
;
; Normalized Lattice filter macro
;
; Input value in register y0, output value in register A
;
; Macro call:
; latnrm order ;call macro
;
; where 'order' is the number of reflections coefficients
; in the filter.
;
; Alters registers: x0 x1 y0 y1 a b, r0 r4, pc sr
;
; Uses 2 locations on stack
;
;
move x:(r0)+,x1 ;get first Q in table
do #order,_endnlat
mpy x1,y0,a x:(r0)+,x0 y:(r4),y1 ;q*w, get k, get s
macr -x0,y1,a b,y:(r4)+ ;a-k*s, save new s
mpy x0,y0,b a,y0 ;k*w, set new w
macr x1,y1,b x:(r0)+,x1 ;b+q*s, get next q
_endnlat
move b,y:(r4)+ ;sv scnd lst st
move a,y:(r4)+ ;save last state
clr a y:(r4)+,y0 ;clr acc, get fst st
rep #order ;do fir taps
mac x1,y0,a x:(r0)+,x1 y:(r4)+,y0
macr x1,y0,a (r4)+ ;lst tap, rnd, adj pointer
endm